INFORMATICA (1 Unità)
Prof. Roberto Battiti
Anno Accademico, 2001/2002
Descrizione
Il corso ha lo scopo di creare una conoscenza operativa delle tecniche di programmazione imperativa e strutturata, e di programmazione orientata agli oggetti, usando il linguaggio C++.
INTRODUZIONE E MOTIVAZIONI
I concetti di algoritmo, programma ed esecutore meccanico (calcolatore). Esempi di algoritmi espressi in "italiano" (ordinamento, ricerca, numeri primi, massimo comun divisore), motivazioni e naturalezza della programmazione.
STRUTTURE DI DATI ELEMENTARI e PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
Principali tipi di dato (numeri interi reali e complessi, vettori, matrici, liste, pile e code). Tipo di dato astratto e realizzazione tramite linguaggi orientati agli oggetti.
INTRODUZIONE AL PROGETTO E ALL' ANALISI DI ALGORITMI
Progetto tramite raffinamenti successivi a partire da specifiche. Complessita' computazionale nel caso pessimo e nel caso medio. Ordini di grandezza. Algoritmi di ordinamento.
IL LINGUAGGIO C
Puntatori ed array, stringhe, array multi-dimensionali. Allocazione dinamica, tipi strutturati, input ed output da file.
IL LINGUAGGIO C++
Classi e metodi, ereditarieta', riuso del software.
Realizzazione in C e C++ di alcuni algoritmi e strutture dati fondamentali in Informatica.
Realizzazione in C e C++ di applicazioni significative in Matematica
Testi consigliati
A.A. Bertossi, Strutture, Algoritmi, Complessita', ECIG, Genova, 1990.
Un buon manuale di C/C++ (ne esistono molti, consigli dettagliati verranno presentati a lezione).